<?php 
	include('../Modele/connexion_bdd.php');

	function prochainsEvenements($id_categorie) {
//Affiche les prochains événements selon la catégorie à laquelle ils appartiennent		
		global $bdd;
		$id_categorie = (int) $id_categorie;
		
		if($id_categorie == 0) {
			$req = $bdd->query('SELECT *, DATE_FORMAT(debut, "A partir du %d/%m/%Y à %Hh%i") AS debut,
				DATE_FORMAT(fin, "jusqu\'au %d/%m/%Y à %Hh%i") AS fin FROM evenement WHERE DATEDIFF(debut, NOW())>=1 ORDER BY debut 
					LIMIT 0, 10');
			while($donnees = $req->fetch()) {
				echo '<div class="slide">
					  	<div class="item">
							<a href="../Controleur/evenement.php?id='.$donnees['id'].'">							
								<img src="'.$donnees['avatar'].'" alt="" />
								<h2>'.$donnees['nom'].'</h2>
								<p>'.$donnees['descriptionLongue'].'<br /><br />'.$donnees['debut'].' '.$donnees['fin'].'</p>
							</a>
						</div>
					  </div>';
			}
			$req->closeCursor();
		} else {
			$req = $bdd->query('SELECT *, DATE_FORMAT(debut, "A partir du %d/%m/%Y à %Hh%i") AS debut,
				DATE_FORMAT(fin, "jusqu\'au %d/%m/%Y à %Hh%i") AS fin FROM evenement WHERE id_categorie='.$id_categorie.' 
					AND DATEDIFF(debut, NOW())>=1 ORDER BY debut LIMIT 0, 10');
			while($donnees = $req->fetch()) {
				echo '<div class="slide">
					  	<div class="item">
							<a href="../Controleur/evenement.php?id='.$donnees['id'].'">							
								<img src="'.$donnees['avatar'].'" alt="" />
								<h2>'.$donnees['nom'].'</h2>
								<p>'.$donnees['descriptionLongue'].'<br /><br />'.$donnees['debut'].' '.$donnees['fin'].'</p>
							</a>
						</div>
					  </div>';
			}
			$req->closeCursor();
		}
	}
	
	function derniersCrees($id_categorie) {	
//Affiche les derniers événements créés selon la catégorie à laquelle ils appartiennent
		global $bdd;
		$id_categorie = (int) $id_categorie; 
		
		if($id_categorie == 0) {
			$req = $bdd->query('SELECT * FROM evenement ORDER BY dateCreation DESC LIMIT 0, 6');
			while($donnees = $req->fetch()) {
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id'].'">
						<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		} else {
			$req = $bdd->query('SELECT * FROM evenement WHERE id_categorie = '.$id_categorie.' ORDER BY dateCreation DESC LIMIT 0, 6');
			while($donnees = $req->fetch()) {
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id'].'">
						<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		}
	}
	
	function mieuxNotes($id_categorie) {
		//Affiche les événements les mieux notés pour les mettre sur la page d'accueil
		global $bdd;
		$id_categorie = (int) $id_categorie;
		
		if($id_categorie == 0) {
			$req = $bdd->query('SELECT *, evenement.id AS id_evenement, AVG(note) AS moyenne FROM evenement LEFT JOIN notecommentaire
				ON evenement.id = notecommentaire.id_receveur_evenement GROUP BY notecommentaire.id_receveur_evenement ORDER BY moyenne DESC LIMIT 0, 3');
			while($donnees = $req->fetch()) {
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		} else {
			$req = $bdd->query('SELECT *, evenement.id AS id_evenement, AVG(note) AS moyenne FROM evenement LEFT JOIN notecommentaire
				ON evenement.id = notecommentaire.id_receveur_evenement WHERE id_categorie = '.$id_categorie.' GROUP BY notecommentaire.id_receveur_evenement ORDER BY moyenne DESC LIMIT 0, 3');
			while($donnees = $req->fetch()) {
				echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id_evenement'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h2>'.$donnees['nom'].'</h2><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
			}
			$req->closeCursor();
		}		
	}
	
	function informations_evenement($id) {
//Fonction permettant de récupérer les informations relatives à un événement
		global $bdd, $nom, $descriptionLongue, $contact, $acces, $debut, $fin, $horaires, $tarifs, $avatar, $organisateur, $lieu, $classeage, $id_organisateur;
		$id = (int) $id;
	
		$req = $bdd->query('SELECT *, evenement.nom AS nom_evenement, classeage.nom AS nom_classeage, organisateur.pseudo AS pseudo_organisateur, 
				DATE_FORMAT(debut, "A partir du %d/%m/%Y à %Hh%i") AS debut,
				DATE_FORMAT(fin, "jusqu\'au %d/%m/%Y à %Hh%i") AS fin FROM evenement LEFT JOIN organisateur
				ON evenement.id_organisateur = organisateur.id LEFT JOIN localisation ON evenement.id_localisation = localisation.id
				LEFT JOIN classeage_evenement ON evenement.id = classeage_evenement.id_evenement LEFT JOIN classeage
				ON classeage.id = classeage_evenement.id_classeage WHERE evenement.id="'.$id.'"');
		//On initialise la chaîne de caractères qui contiendra les noms des classes d'âge auxquelles l'événement est associé
		$classeage = "";
		while($donnees = $req->fetch()) {
			$nom = $donnees['nom_evenement'];
			$descriptionLongue = $donnees['descriptionLongue'];
			$contact = $donnees['contact'];
			$acces = $donnees['acces'];
			$debut = $donnees['debut'];
			$fin = $donnees['fin'];
			$horaires = $donnees['horaires'];
			$tarifs = $donnees['tarifs'];
			$avatar = $donnees['avatar'];
			$organisateur = $donnees['pseudo_organisateur'];
			$lieu = $donnees['adresse'].' '.$donnees['CP'].' '.$donnees['ville'];
			$classeage = $classeage." <strong>".$donnees['nom_classeage']."</strong>";
			$id_organisateur = $donnees['id_organisateur'];
		}
		$req->closeCursor();
	}
	
	function recuperer_images($id_evenement) {
//Fonction permettant de récupérer les images d'un événement		
		global $bdd;
		$id_evenement = (int) $id_evenement;
		
		$req = $bdd->query('SELECT * FROM fichiers WHERE id_evenement='.$id_evenement);
		$compt = 1;
		while($donnees = $req->fetch()) {
			echo '<img src="'.$donnees['chemin'].'" alt="" />';
			if($compt%3 == 0) {
				echo '<br />';
			}
			++$compt;
		}
	}
	
	function recupererLike_evenement($id_evenement) {
//Fonction permettant de récupérer le nombre de like attribués à un événement		
		global $bdd;
		$id_evenement = (int) $id_evenement;
		
		$req = $bdd->query('SELECT COUNT(*) AS nbre_like FROM systemelike WHERE id_receveur_evenement='.$id_evenement);
		$donnees = $req->fetch();
		if($donnees['nbre_like'] == 1) {
			echo '<p id="likes_attribues">'.$donnees['nbre_like'].' like a été attribué à cet événement</p>';
		} else if($donnees['nbre_like'] == 0) {
			echo '<p id="likes_attribues">Aucun like n\'a été attribué à cet événement</p>';
		} else {
			echo '<p id="likes_attribues">'.$donnees['nbre_like'].' likes ont été attribués à cet événement</p>';
		}		
	}
	
	function modifier_informations($id_evenement, $acces, $contact, $horaires, $tarifs) {
//Fonction permettant de modifier les informations relatives à un événement		
		global $bdd;
		$id_evenement = (int) $id_evenement;
		$acces = (string) $acces;
		$contact = (string) $contact;
		$horaires = (string) $horaires;
		$tarifs = (string) $tarifs;
		
		$bdd->exec('UPDATE evenement SET acces="'.$acces.'", contact="'.$contact.'", horaires="'.$horaires.'", 
				tarifs="'.$tarifs.'" WHERE id='.$id_evenement);
	}
	
	function evenements_similaires($id) {
//Fonction permettant de récupérer les événements similaires à un autre (même catégorie)
		global $bdd;
		$id = (int) $id;
		
		$req1 = $bdd->query('SELECT * FROM evenement WHERE id='.$id);
		$init = $req1->fetch();
		$req2 = $bdd->query('SELECT * FROM evenement WHERE id_categorie='.$init['id_categorie'].' AND id!='.$id.' LIMIT 0,3');
		while($donnees = $req2->fetch()) {
			echo '<li><a href="../Controleur/evenement.php?id='.$donnees['id'].'">
					<img src="'.$donnees['avatar'].'" alt="" /><h3>'.$donnees['nom'].'</h3><strong>'.$donnees['descriptionCourte'].'</strong></a></li>';
		}
		$req1->closeCursor();
		$req2->closeCursor();
	}
	
	function afficheModifierEvenements($id_organisateur) {
//Fonction permettant de récupérer les événements organisés par un même organisateur		
		global $bdd;
		$id_organisateur = (int) $id_organisateur;
		
		$req = $bdd->query('SELECT *, evenement.id AS id_evenement FROM evenement LEFT JOIN organisateur 
				ON evenement.id_organisateur = organisateur.id WHERE organisateur.id = '.$id_organisateur);
		$i = 1;
		while($donnees = $req->fetch()) {
			echo '<p style="font-weight: bold">'.$donnees['nom'].'
				  	<br /><input type="button" value="Editer" id="champ'.$i.'" onclick="afficheChamp(this, '.$i.')" />
					<input type="button" value="Ajouter une photo" id="champ'.($i+1).'" onclick="afficheChamp(this, '.$i.')" />
					<br />
					
					<div id="affiche_champ'.$i.'" style="display:none">
						<form method="post" action="../Controleur/personnalisation_evenement.php">
							<table>
								<tr>
									<td>Accès : </td>
									<td><textarea name="modifier_acces" rows="4" cols="20">'.$donnees['acces'].'</textarea></td>
								</tr>
								<tr>
									<td>Contact : </td>
									<td><textarea name="modifier_contact" rows="4" cols="20">'.$donnees['contact'].'</textarea></td>
								</tr>
								<tr>
									<td>Horaires : </td>
									<td><textarea name="modifier_horaires" rows="4" cols="20">'.$donnees['horaires'].'</textarea></td>
								</tr>
								<tr>
									<td>Tarifs : </td>
									<td><textarea name="modifier_tarifs" rows="4" cols="20">'.$donnees['tarifs'].'</textarea></td>
								</tr>
							</table> 
							<input type="hidden" name="id_evenement" value="'.$donnees['id_evenement'].'" />
							<p><input type="submit" value="Valider les modifications" /></p>												
						</form>
					</div>
					
					<div id="affiche_champ'.($i+1).'" style="display:none">
						<form method="post" action="../Controleur/personnalisation_evenement.php" enctype="multipart/form-data">
							<table>
								<tr>
									<td>Ajouter votre image (max. 3Mo) : </td>
									<td><input type="file" name="image" value="3145728" /></td>
									<td><input type="hidden" name="id_evenement" value="'.$donnees['id_evenement'].'" /><input type="submit" value="Valider" /></td>
								</tr>
							</table> 							
						</form>
					</div>
				  </p>';
			$i = $i + 2;
		}
	}
	
	function ajouterImage($id_evenement, $chemin) {
//Fonction permettant d'attribuer une image supplémentaire à un événement
		global $bdd;		
		$id_evenement = (int) $id_evenement;
		$chemin = (string) $chemin;
		
		$bdd->exec('INSERT INTO fichiers(chemin, id_evenement) VALUES("'.$chemin.'", '.$id_evenement.')');
	}
	
	function afficheSupprimerEvenements($id_organisateur) {
//Fonction permettant de récupérer les événements organisés par un même organisateur
		global $bdd;
		$id_organisateur = (int) $id_organisateur;
	
		$req = $bdd->query('SELECT *, evenement.id AS id_evenement FROM evenement LEFT JOIN organisateur
				ON evenement.id_organisateur = organisateur.id WHERE organisateur.id = '.$id_organisateur);
		while($donnees = $req->fetch()) {
			echo '<p style="font-weight: bold">'.$donnees['nom'].'
					<br /><input type="button" value="Supprimer" onclick="confirmerSuppression('.$donnees['id_evenement'].')" /><br />
				  </p>';
		}
	}
	
	function supprimerEvenement($id_evenement) {
//Fonction permettant de supprimer un événement 		
		global $bdd;
		$id_evenement = (int) $id_evenement;
		
		$req = $bdd->query('SELECT * FROM evenement WHERE id='.$id_evenement);
		$donnees = $req->fetch();
		$id_localisation = $donnees['id_localisation'];
		
		$bdd->exec('DELETE FROM localisation WHERE id = '.$id_localisation);
		$bdd->exec('DELETE FROM evenement WHERE id='.$id_evenement);
		$bdd->exec('DELETE FROM classeage_evenement WHERE id_evenement='.$id_evenement);
	}
?>